#include "Cursor.h"


///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
static WONAPI::CursorRefPtr gStandardCursors[WONAPI::StandardCursor_Max+1];

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
WONAPI::Cursor::Cursor() 
{
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
WONAPI::Cursor::~Cursor()
{
}


///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
WONAPI::Cursor* WONAPI::Cursor::GetStandardCursor(StandardCursor theType)
{
	return gStandardCursors[theType];
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void WONAPI::Cursor::SetStandardCursor(StandardCursor theType, Cursor *theCursor)
{
	if(gStandardCursors[theType]==NULL)
		gStandardCursors[theType] = new CursorRef(theCursor);
	else
		gStandardCursors[theType]->SetCursor(theCursor);
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
WONAPI::ComponentCursor::ComponentCursor(Component *theComponent, int mouseX, int mouseY) : mComponent(theComponent)
{
	mMouseX = mouseX;
	mMouseY = mouseY;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
WONAPI::Component* WONAPI::ComponentCursor::GetComponent(int &mouseX, int &mouseY)
{
	mouseX = mMouseX;
	mouseY = mMouseY;
	return mComponent;
}

